home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / modula2 / 274 < prev    next >
Encoding:
Internet Message Format  |  1996-08-06  |  4.0 KB

  1. Path: ubaclu.unibas.ch!eglis
  2. From: eglis@ubaclu.unibas.ch (Simon Egli)
  3. Newsgroups: comp.lang.modula2,comp.lang.modula3
  4. Subject: Re: Why Modula-2?
  5. Message-ID: <1996Feb12.121419.46010@yogi.urz.unibas.ch>
  6. Date: 12 Feb 96 12:14:19 MET
  7. References: <4eqo1l$mko@wariat.wariat.org>  <DMGpFz.Mpo@clark.zippo.com>
  8. Followup-To: comp.lang.modula2,comp.lang.modula3
  9. Organization: University of Basel, Switzerland
  10.  
  11.  > I believe that the "Oberon system" is a gigantic millstone around the
  12. > (admittedly virtual) neck of the Oberon language.  When you tie a
  13. > language closely to an operating system, you require not only that the 
  14. > programmer adopt adopt both simultaneously, but also that the end user
  15. > adopt the operating system to run the applications.  Such things are
  16. > highly unlikely.  When you get a system that is as unpopular as the
  17. > Oberon system, it is even more unlikely that the language will ever go
  18. > anywhere even if it is the world's niftiest language.
  19.  
  20. > Of course, they've come up with a standalone version of Oberon, but when
  21. > you leave the Oberon system, Oberon the language becomes pretty much just
  22. > another Pascal descendant.
  23.  
  24. I agree that the Oberon system prevents many people from taking a closer
  25. look at the language. But this is really no issue, because this system has
  26. nothing to do with the language. There are abouth 15 standalone compilers
  27. that come to my mind without too much thinking. Among them is Ofront,
  28. an Oberon-2 to C translator.
  29.  
  30. In my personal oppinion, Oberon is superior to Modula-2 because:
  31.  
  32. 1. GC
  33. 2. simplicity & safety (no dangling pointers & variant records, pointers
  34.   initialised to NIL)
  35. 3. finer control over export of identifiers (hidden record fields)
  36. 4. OOP (extendend types, type bound procedures)
  37. 5. type hierarchy of numeric types
  38.    x := 3.4 * FLOAT(LONG(i)) where i is of type INTEGER becomes
  39.    x := 3.4 * i
  40. 6. no definition module. ( You may see this as a disadvantage,
  41.   but anyway, you may still create definition modules with the aid of the
  42.   browser and comment them as you like. )
  43. 7. simpler to learn than Modula-2
  44.  
  45. The major weak points are the lack of enumeration types and a too weak
  46. standard for libraries.
  47.  
  48. Apart from this there are several practical reasons why to favour Oberon:
  49.  
  50. -The compiler is very simple.
  51.  
  52. The native Compiler can be ported by one person in less than about a month
  53. ( I think the whole Sparc Oberon System 4 was ported by Josef Templ in thwo
  54. months ).
  55.  
  56. Because it is simple it is also fast eventhough it is written with portability
  57. in mind (the frontend creates a complete syntax tree).
  58.  
  59. Becuase it is so simple and fast, such interesting things like OMI are possible:
  60.  
  61. OMI stands for Oberon Module Interchange. It is essentially a module format,
  62. where simply the syntax tree is encoded machine independent in a File.
  63.  
  64. Code generation is so fast, that it can be done at loading time.
  65.  
  66. There is an implementation of MacOberon, of wich most of the code is in OMI
  67. format, so that this implementation runs native on a PowerMac and on old
  68. Mac's but requires about a quarter of the size of a corresponding Fat binary.
  69.  
  70. ETH currently works on ports of OMI to their other Systems, so that modules
  71. will become interchangeable a la Java, but will run native.
  72.  
  73. Apart from the ETH effort there is a very nice development system for Mac
  74. and Windows called Oberon/F wich fits smothly into OLE and Open Doc.
  75.  
  76. Unfortunately I don't know really Modula-3, so I can't compare it to Oberon.
  77. But what I know for shure about Modula-3 is, that it is not as simple as Oberon.
  78. To me it seems Modula-3 is for people who like Ada. (In the Modula-3 newsgroup
  79. there are many Ada threads).
  80. I think a complicated language is a shure sign of superfluous concepts, or
  81. of concepts wich fill better into a library than into the language.
  82.  
  83. Also the Modula-3 compiler is much more complicated, so that it is a pain to
  84. port it. There are not many ports around and there never will be, and a one
  85. manmonth port of the Oberon compiler can beat them in code quality & execution
  86. times. (there was some paper about this, it's dated around 1992, of course this
  87.  may have changed)
  88.  
  89. Simi
  90.